package linkedList;

import java.util.LinkedList;

public class LinkListedTest {
    public static void main(String[] args) {
        var a = new LinkedList<String>();
        a.add("Amy");
        a.add("Carl");
        a.add("Erica");

        var b = new LinkedList<String>();
        b.add("Bob");
        b.add("Doug");
        b.add("Frances");
        b.add("Gloria");

        var aIt = a.listIterator();
        var bIt = b.iterator();

        // 在a每个元素后面分别插入b对应位置的元素
        while (bIt.hasNext()) {
            if (aIt.hasNext()) {
                aIt.next();
            }

            // 插入在aIt的前面, 也即是aIt返回元素的后面
            aIt.add(bIt.next());
        }
        System.out.println(a);

        // 删除偶数位置的元素
        bIt = b.iterator();
        while (bIt.hasNext()) {
            bIt.next();         // 跳过一个
            if (bIt.hasNext()) {
                bIt.next();
                bIt.remove();   // 删除一个
            }
        }
        System.out.println(b);

        // 遍历a, 删除b中存在的元素
        a.removeAll(b);
        System.out.println(a);
    }
}
